package com.androidiani.ApiUtils;
/**
 * Definisco tutte le cose utili che possono servirmi per la definizione di un nuovo utente.
 * @author veke
 *
 */
public class NuovoUtente implements ApiRequest {

	private String username;
	private String password;
	private int applicationId;
	/**
	 * 
	 * @param u username
	 * @param p password
	 * @param a Application id ( Sul DB del webservice )
	 * @throws Exception 
	 */
	public NuovoUtente (String u,String p,int a) throws Exception{
		// Effettuo un check sulla composizione dell'username.. solamente caratteri lowercase e numeri
		
		byte [] tmp=u.getBytes();
		if (u.length()<5) {
			throw new Exception ("l'username deve avere una lunghezza mininma di 5 chars");
		}
		for ( byte x : tmp) {
			if (!(x > 96 && x < 123) ) {
				throw new Exception ("l'username contiene caratteri non validi");
			}
		}
		username=u;
		
		tmp=p.getBytes();
		if (p.length()<5) {
			throw new Exception ("la psw deve avere una lunghezza mininma di 5 chars");
		}
		for ( byte x : tmp) {
			if (!(x > 96 && x < 123) ) {
				throw new Exception ("la psw contiene caratteri non validi");
			}
		}
		
		password=p;
		applicationId=a;
	}
	
	@Override
	public String buildXml() {
		return "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n"+
				"<api version=\""+apiVersion+"\" />\n"+
				"<method name=\"nuovoUtente\" />\n"+
				"<data>\n"+
				"<application id=\""+applicationId+"\"/>\n" +
				"<user username=\""+username+"\" password=\""+password+"\" />\n" + 
				"</data>";
	}

}
